package cn.iocoder.yudao.module.project.controller.admin.productioncodeorderedit.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 订单编辑-删除相关成品码新增/修改 Request VO")
@Data
public class ProductionCodeOrderEditSaveReqVO {

    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5419")
    private Long recycleId;

    @Schema(description = "成品码编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "22400")
    @NotEmpty(message = "成品码编号不能为空")
    private String productId;

    @Schema(description = "成品名称", example = "李四")
    private String name;

    @Schema(description = "内码编号")
    private String internalCode;

    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "订单编号不能为空")
    private String orderCode;

    @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotEmpty(message = "型号不能为空")
    private String type;

    @Schema(description = "成品下线时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "成品下线时间不能为空")
    private LocalDateTime downlineTime;

    @Schema(description = "下线状态(0:未下线:1下线)", example = "1")
    private Integer downlineStatus;

    @Schema(description = "操作员")
    private String operator;

    @Schema(description = "备注", example = "随便")
    private String remark;

}